home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / security / Watcher / pp_change.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-07-14  |  1.0 KB  |  54 lines

  1. /*
  2.    pp_change: pretty print the change format.
  3.  
  4.    Kenneth Ingham
  5.  
  6.    Copyright (C) 1987 The University of New Mexico
  7. */
  8.  
  9. #include "defs.h"
  10. #include "y.tab.h"
  11.  
  12. pp_change(cf)
  13. struct change_fmt_st *cf;
  14. {
  15.     int i;
  16.  
  17.     while (cf != NULL) {
  18.         switch(cf->fmt.type) {
  19.             case PERCENT:
  20.                 printf("\t\t%s %5.2f %%", cf->name,
  21.                     cf->fmt.fmt.percent*100);
  22.                 break;
  23.             case ABSOLUTE:
  24.                 printf("\t\t%s %6.2f", cf->name,
  25.                     cf->fmt.fmt.abs_amount);
  26.                 break;
  27.             case MAX_MIN:
  28.                 printf("\t\t%s %6.2f %6.2f", cf->name,
  29.                     cf->fmt.fmt.max_min.min,
  30.                     cf->fmt.fmt.max_min.max);
  31.                 break;
  32.             case STRING:
  33.                 printf("\t\t%s", cf->name);
  34.                 printf(" \"%s\"", cf->fmt.fmt.str_value[0]);
  35.                 for (i=1; cf->fmt.fmt.str_value[i]; i++)
  36.                     printf(", \"%s\"",
  37.                     cf->fmt.fmt.str_value[i]);
  38.                 break;
  39.             case ANY:
  40.                 printf("\t\t%s", cf->name);
  41.                 break;
  42.             default:
  43.                 printf("Impossible change format type: %d\n",
  44.                     cf->fmt.type);
  45.                 break;
  46.         }
  47.         if (cf->next != NULL)
  48.             printf(" ;\n");
  49.         else
  50.             printf(" .\n");
  51.         cf = cf->next;
  52.     }
  53. }
  54.